1. Field of the Invention
This invention relates generally to computer peripheral devices, and more particularly to network devices and methods that enable the sharing of peripheral devices with multiple clients over a network.
2. Description of the Related Art
Recently, computer users have enjoyed substantial flexibility in the way their computers are equipped. This flexibility is primarily due to the increased use of peripheral devices, which allow computer users to purchase only those hardware devices that make sense for their particular work requirements. In fact, the variety of available peripheral devices is ever increasing, which necessarily requires that they be well integrated with the computer""s existing software. Although most peripheral device manufactures are able to provide excellent software drivers that enable the full functionality of the peripheral devices when they are connected to a local computer, other computers that are coupled to the same network are generally not able to access or utilize those peripheral devices.
With this in mind, FIG. 1A shows a network diagram 100 having several computers 102 connected to a server computer 104. In this arrangement, the computers 102 function as client computers which are capable of storing and retrieving information from the server computer 104. In this example, the server computer 104 has a SCSI adapter card 106 which enables it to communicate with SCSI peripheral devices 108a through 108c. The server computer 104 also includes specialized software for handling communication between the client computers 102a through 102d and the SCSI peripheral devices 108a through 108c. 
FIG. 1B shows a prior art block diagram of several functional blocks implemented by the server computer 104. In this simplified example, the server computer 104 includes an operating system 120, which is in communication with a file manager 122. The file manager 122 is capable of communicating with a network manager 124 and several local managers, including a tape drive manager 126, a hard disk manager 127, a CDROM manager 128, and a special (scanner) manager 129.
The local managers are thus capable of communicating with files and data that may be stored in a data storage unit 130. A controller 132 is shown in communication with the data storage 130 and the SCSI adapter card 106 of FIG. 1A. The SCSI adapter card 106 therefore communicates with the peripheral devices 108a through 108c. As further shown in FIG. 1B, the server computer 104 is connected to a network via an Ethernet adapter 136, which communicates with the network manager 124.
By implementing the server computer 104 arrangement, it is possible for the client computers 102a through 102d to communicate with the server computer 104 and access one or more of the peripheral devices 108a through 108c. That is, a client computer 102 will typically couple up to a network through its own Ethernet adapter card which enables communication to the Ethernet adapter 136 of the server computer 104. In this manner, data can then be transferred between the various network computers by passing standard Ethernet packets.
Although it is possible for the client computers 102a through 102d to access the server 104 in order to access to the peripheral devices 108a through 108c, the cost associated with purchasing and setting up the server 104 for the sole purpose of sharing several peripheral devices can be quite large. For example, file servers generally require specialized network operating system software, and a network administrator to continuously manage the operation of the server computer 104 and the various clients that are interacting with that server computer 104. In addition, special storage and office space allocation must be made in order to properly manage, network, and manage the server computer 104.
Thus, even though this arrangement may work in some large corporate environments, the sharing of the peripheral devices 108a through 108c via a specialized server computer 104 can be prohibitively expensive for small office environments as well as home office networks. Alternatively, the users of a small network may purchase redundant peripheral devices for each computer. Of course, this may not make sense if only several computers are networked together and a single peripheral device can fill the needs of the several network computer users.
In view of the foregoing, there is a need for a network device and a method that enables several client computers that are networked together to share remotely networked peripheral devices without employing expensive server computer systems.
Broadly speaking, the present invention fills these needs by providing a method, a system, and an apparatus for transparently sharing remotely networked peripheral devices with local client computers. The method and apparatus advantageously eliminates the need for expensive server computer systems that are solely used for peripheral device sharing. Thus, client computers of the present invention are able to access peripheral devices that are remotely coupled to a shared network as if the peripheral devices were actually connected to each local client computer system. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium. Several inventive embodiments of the present invention are described below.
In one embodiment, a method for accessing a remote peripheral device from a client computer is disclosed. The client computer has a network adapter for connecting to a network. The method includes generating a request through an operating system of the client computer, and encapsulating the request in a TCP/IP packet. The method further includes transmitting the TCP/IP packet through the network adapter to a translation adapter that is configured to decode the TCP/IP packet back into the request that is then passed to the peripheral device that is connected to the translation adapter. Preferably, the transmitting of the TCP/IP packet through the network adapter includes sending the TCP/IP packet to a transport driver interface before the TCP/IP packet is passed to the network adapter of the client computer.
In another embodiment, a system for establishing a communication link between a client computer and a peripheral device that is remotely networked to the client computer is disclosed. The system includes a translation adapter that is networked with the client computer through a first network adapter of the translation adapter. The translation adapter further includes a SCSI controller that connects to the peripheral device. The system further includes a SCSI-to-TCP/IP driver that is loaded on the client computer and configured to detect when the translation adapter is networked to the client computer, and is further configured to generate a TCP/IP packet. In addition, the system includes a second network adapter that is connected to the client computer and configured to receive the TCP/IP packet that is generated by the SCSI-to-TCP/IP driver. The second network adapter is further configured to transmit the TCP/IP packet to the first network adapter of the translation adapter, and the translation adapter is configured to translate the TCP/IP packet into a SCSI command that is communicated to the peripheral device that is connected to the translation adapter.
In yet a further embodiment, an apparatus for establishing a data transfer link between a client computer and a peripheral device that is remotely networked to the client computer is disclosed. The apparatus includes a translation means that is networked with the client computer through a first Ethernet controller of the translation means. The translation means further includes a SCSI controller that is physically coupled to the peripheral device. A SCSI-to-TCP/IP converting means is loaded on the client computer and is configured to detect when the translation means is networked to the client computer, and is further configured to produce a TCP/IP packet from one of a SCSI command and SCSI data. The apparatus also includes a second Ethernet controller that is connected to the client computer and is configured to receive the TCP/IP packet that is produced by the SCSI-to-TCP/IP converting means. The second Ethernet controller is further configured to transmit the TCP/IP packet to the first Ethernet controller of the translation means, and the translation means is configured to convert the TCP/IP packet back into one of the SCSI command and the SCSI data that is directed to the peripheral device that is physically coupled to the translation means.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.